package itsm.isperp.framework.service;

import itsm.isperp.framework.domain.IDepartment;

import java.util.Collection;

/** 
 */
public interface IDepartmentService {
	/**
	 * 根据部门ID，取得部门信息
	 * 
	 * @param id
	 *            部门ID
	 * @return IDepartment返回的部门对象
	 */
	public IDepartment findDeptById(String id);

	/**
	 * 根据指定的父部门ID，找到所有隶属于该部门下的子部门
	 * 
	 * @param parentId
	 *            父部门ID
	 * @return 子部门集合
	 */
	public Collection<IDepartment> findChildDepts(String parentId);

	/**
	 * 根据用户名，找到该用户所在的部门，因为部门可以有多个，所以这里集合返回
	 * 
	 * @param username
	 *            用户名
	 * @return Collection<Dept> 给定用户的部门集合
	 */
	public Collection<IDepartment> findDeptsByUsername(String username);

	/**
	 * 得到所有部门集合
	 * 
	 * @return Collection<Dept> 所有部门集合
	 */
	public Collection<IDepartment> findAllDepts();

	/**
	 * 根据部门属性信息查询部门
	 * 
	 * @param deptInfo
	 * @return Collection<Dept>部门集合
	 */
	public Collection<IDepartment> findDeptsByDeptInfo(IDepartment deptInfo);
}
